package cn.school.dao;

import cn.school.entity.Student;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public interface StudentDao {
 //统计学生数
 int count();
 //根据学号查找学生
 Student find(long stuno);
 //添加学生
 int add(Student s);
 //根据学号删除学生
 int del(long id);
 //根据学号修改信息
 int update(Student s);
//按照 微信号,qq号,姓名,模糊查找学生的功能，加上分页
 ArrayList<Student> search (@Param("wechat") String wechat,@Param("qq")String qq,@Param("sname") String sname,@Param("pageNo")int pageNo, @Param("pageSize")int pageSize);
//分页查看学生信息
 ArrayList<Student> paging(@Param("pageNo") int pageNo, @Param("pageSize") int pageSize);

 List<Student> search2(@Param("wechat")String wechat, @Param("qq")String qq, @Param("sname")String sname, @Param("start") Date start, @Param("end")Date end, @Param("pageNo")int pageNo, @Param("pageSize")int pageSize);

 List<Student> search1(  @Param("grades")int []gradeids);

 List<Student> findStudebtAndExam(long stuno );
 //按照年级编号，姓名、手机号，以及入学时间（按照区间）
 //的查询，其中姓名、手机号用模糊查询
 //同时要查询在同样条件下的总数，将来给分页使用
 //如果某个条件未提供,则忽略
 List<Object> search3(@Param("sname") String sname,@Param("telephone")String telephone,@Param("gradeid")String gradeid,@Param("start") Date start, @Param("end")Date end,@Param("pageNo")int pageNo, @Param("pageSize")int pageSize);

}
